1. Field of the Invention
The present invention relates to an I/O control method and an article of manufacture which are suitable for an application to a computer system having a check point restart function, more specifically, an I/O control method for remarkably improving I/O process in the computer system without waiting all I/O processes in the case of multiplexing a secondary storage unit until obtaining next check point.
2. Description of the Related Art
Recently, a computer system has been remarkably in common use, and thus higher reliability is demanded. In order to improve the reliability of the computer system, a check point restart system exists.
Conventionally, in a computer system having a check point restart system for performing a process while obtaining check points periodically and when a fault in a system occurs, restarting the process from an obtained check point so as to recover a fault, in order to obtain consistency of a memory state and a restarting state of a process with a state of an I/O unit (for example, contents of a disk), it is necessary to execute only a fixed I/O request which is surely issued even after the recovery. For this reason, in general, even if the I/O request is issued, this execution (process) is reserved until a next check point process is started, and the I/O request is executed after the completion of the check point process collectively.
In such a conventional I/O control method, apart from a read operation in which read log is not left when the memory state is recovered, but at least issuance of writing is delayed for a time from the original issuance to obtaining of a check point.
Meanwhile, in the computer system having such a fault tolerant characteristic, a disk is generally multiplexed so that its reliability is improved. In this case, in order to obtain reliability of data, it is necessary to perform I/O request issuance on each multiplexed disk sequentially, not concurrently. The principle of an operations at this time is explained with reference to FIG. 1.
Here, files are managed by a multiplexing method, namely, primary files and shadow files are managed separately. These files may be multiplexed on different disks, or they may be multiplexed in logical partitions of one disk.
If a writing request is issued from an application program ((1) in FIG. 1), a file management system issues an instruction to a device driver so as to write this request to a primary file ((2) in FIG. 1). When the writing completion is informed by the device driver ((3) in FIG. 1), the file management system issues an instruction for writing to a shadow file ((4) in FIG. 1).
When the completion of the writing to the shadow file is informed ((5)in FIG. 1), the file management system informs of the completion of writing to the application program ((6) in FIG. 1).
Therefore, as to the request to write in the system to which the check point mechanism mentioned above is applied and where the file is multiplexed, the issuance waits until the check point, and one logical I/O request is not completed as long as the writing to both the multiplexed files is not completed. For this reason, the whole processing times becomes longer. The operating principle at this time is described with reference to FIG. 2.
For example, if the request to write is issued from the application program ((1) in FIG. 2), the file management system waits for the issuance of this request until next check point is obtained ((2) in FIG. 2). Then, when a check point is obtained ((3) in FIG. 2), the file management system issues an instruction to the device driver so as to write the waiting request to a primary file ((4) in FIG. 2).
The process hereinafter is the same as the process shown in FIG. 1, namely, when the completion of writing is informed from the device driver ((5) in FIG. 2), the file management system issues an instruction to the device driver so as to write to a shadow file ((6) in FIG. 2). When the completion of writing to the shadow file is informed ((7) in FIG. 2), the completion of writing is informed to the application program ((8) in FIG. 2).
In other words, as to the request to write to the secondary storage unit, since the processing time becomes longer by a period shown in (2) of FIG. 2, the response time to the whole system becomes longer.
Japanese Patent Application No. 5-305077/1993 (U.S. Ser. No. 992,219, Date of Application: Dec. 17, 1992, Assignee: IBM) discloses a system for multiplexing remote data and its method. This system is a multiplexing system of DASD, and a secondary side is in a remote position. Input data are directly written to a primary disk, and data are grouped per sequential check point so as to be written to the secondary side. However, the check points in this system corresponds to sequential check point which are processed as a sequential unit after a series of information packets collected as a group, so these check points are different from the check points for recovering the system described in the present invention. In other words, the check points in the system of IBM are used for multiplexing data (in order to obtain matching of sequence of packets transmitted in asynchronous). On the contrary, the check points in the present embodiment are used for matching data in the computer system adopting the check point recovery system. Since the system of IBM does not adopt the check point restarting system, time intervals of check points are longer than the present invention.